package com.qiang;

import java.io.*;

public class Demo06 {
    public static void main(String[] args) throws IOException {
        File f1 = new File("D:\\bb");
        File f2 = new File("D:\\ee");

        SendFile(f1, f2);
    }

    private static void SendFile(File f1, File f2) throws IOException {

        //f1和f2是形参
        //如果形参f2不存在，就创建，存在的话就不创建
        if (!(f2.exists())) {
            f2.mkdirs();
        }


        //获取f1的文件列表
        File[] f3 = f1.listFiles();
        for (File f4 : f3) {
            if (f4.isDirectory()) {
                //如果是文件夹的话，就在ee文件夹创建新的文件夹
                File f5 = new File(f2, f4.getName());

                //然后遍历f4文件夹下面的内容
                File f6 = new File(f1, f4.getName());
                SendFile(f6, f5);
            } else if (f4.isFile()) {
                //如果是文件的话，就直接读取
                File file = new File(f2, f4.getName());
                BufferedInputStream bis = new BufferedInputStream(new FileInputStream(f4.getAbsolutePath()));
                //创建输出流，并写到文件夹
                BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
                byte[] bb = new byte[1024];
                int len;
                while ((len = bis.read(bb)) != -1) {
                    bos.write(bb, 0, len);
                }
                bis.close();
                bos.close();
            }
        }
    }
}
